0 POKE52,45:POKE56,45:CLR 1 IFPEEK(2040)<180THENPOKE2040,255 2 IFPEEK(2041)<180THENPOKE2041,254 3 IFPEEK(49152)<>76THENLOAD"ROT.ML",8,1 10 POKE53280,0:POKE53281,0:POKE53269,0:POKE53248,220:POKE53249,100 15 POKE53271,3:POKE53277,3 20 POKE53251,100:POKE53250,30:PRINT"[147]SPRITE ROTATOR":POKE53264,2 25 PRINT"DESIGNED BY JOHN FEDOR":POKE53287,1:POKE53288,1:GOTO120 30 A=SQR(X^2+Y^2):IFX=0THENB=0:GOTO55 50 B=ATN(Y/X):IFSGN(Y)=1ANDSGN(X)=-1THENB=B+(null) 51 IFSGN(Y)=-1ANDSGN(X)=-1THENB=B+(null) 52 IFSGN(X)=-1ANDY=0THENB=(null) 53 IFSGN(X)=1ANDY=0THENB=0 54 GOTO60 55 IFSGN(Y)=1THENB=(null)/2 56 IFSGN(Y)=-1THENB=-(null)/2 60 D1=DE*(null)/180:Y1=INT(.5+A*SIN(D1+B)):X1=INT(.5+A*COS(D1+B)):RETURN 90 X1=X+11:Y1=10-Y:Q=S1*64+Y1*3+INT(X1/8):DO=PEEK(Q)AND(2^(7-(X1AND7))):RETURN 100 IFX1<-11ORY1<-10ORX1>12ORY1>10THENRETURN 105 X2=X1+11:Y2=10-Y1:Q=S2*64+Y2*3+INT(X2/8) 110 POKEQ,PEEK(Q)OR(2^(7-(X2AND7))):RETURN 120 PRINT"1. LOAD IN SPRITES SHAPES 125 [153]"2. CHANGE SOURCE SPRITE 130 PRINT"3. CHANGE DESTINATION SPRITE 135 [153]"4. ROTATE SPRITE 140 PRINT"5. ANIMATE SPRITES 150 [153]"6. SAVE SPRITES 152 PRINT"7. TOUCH-UP SPRITE 153 [153]"8. COPY SOURCE TO DESTINATION 155 S1=PEEK(2040):S2=PEEK(2041) 160 POKE198,0 170 GETA$:IFA$<"1"ORA$>"8"THEN170 175 A=VAL(A$):ONAGOSUB200,250,300,400,500,350,600,1000 180 RUN 200 PRINT"[147]WHAT IS THE FILENAME (LOAD) 202 F$[178]"":[133]F$:[139]F$[178]""[167][138] 203 [159]15,8,15,"I0 204 INPUT#15,A,B$,C,D:IFATHENPRINTA;B$;C;D:CLOSE15:FORI=1TO5000:NEXT:RUN 205 OPEN5,8,5,F$+",P,R 206 [132]15,A,B$,C,D:[139]A[167][153]A;B$;C;D:[160]15:[129]I[178]1[164]5000:[130]:[138] 207 [161]#5,A$,B$:[160]5 208 C$[178][199](0):S1[178][198](A$[170]C$)[170][198](B$[170]C$)[172]256:S1[178]S1[173]64 209 [151]2040,S1 210 [147]F$,8,1 220 [138] 250 [151]53269,1 260 [153]"LOADCURRENT SHAPE:"S1 265 [153]"USE +/- TO ADJUST. TO END.":[151]650,128 270 [161]A$:[139]A$[178]"+"[167]S1[178]S1[170]1:[139]S1[177]255[167]S1[178]255 275 [139]A$[178]"-"[167]S1[178]S1[171]1:[139]S1[179]180[167]S1[178]180 280 [151]2040,S1:[153]""[163]14)S1 285 [139]A$[179][177][199](13)[167]270 290 [151]650,0:[138] 300 [151]53269,2 310 [153]"LOADCURRENT SHAPE:"S2 315 [153]"USE +/- TO ADJUST. TO END.":[151]650,128 320 [161]A$:[139]A$[178]"+"[167]S2[178]S2[170]1:[139]S2[177]255[167]S2[178]255 325 [139]A$[178]"-"[167]S2[178]S2[171]1:[139]S2[179]180[167]S2[178]180 330 [151]2041,S2:[153]""[163]14)S2 335 [139]A$[179][177][199](13)[167]320 340 [151]650,0:[138] 350 [139]S1[177]S2[167][153]"NOT POSSIBLE":[129]I[178]1[164]5000:[130]:[138] 353 [153]"LOADWHAT IS THE FILENAME (SAVE)" 354 F$[178]"":[133]F$:[139]F$[178]""[167][138] 355 [159]15,8,15,"I0":[152]15,"S0:"[170]F$ 356 [159]5,8,5,F$[170]",P,W 360 A%=(S1*64)/256:B%=(S1*64)-A%*256 363 PRINT"SAVING...." 365 PRINT#5,CHR$(B%)CHR$(A%); 370 FORI=S1*64TOS2*64+63:PRINT#5,CHR$(PEEK(I));:NEXT 375 CLOSE5 377 INPUT#15,A,B$,C,D:IFATHENPRINTA;B$;C;D:FORI=1TO5000:NEXT 378 CLOSE15 380 RUN 400 FORI=S2*64TOS2*64+63:POKEI,0:NEXT 410 POKE53269,3 415 PRINT"[147]WHAT IS THE ROTATION (IN DEGREES)"; 420 INPUTDE 430 PRINT"[147]CALCULATING..."DE"DEGREES":PRINTTAB(25)PEEK(2040)TAB(33)PEEK(2041) 435 FORY=-10TO10:FORX=-11TO12:GOSUB90:IFDOTHENGOSUB30:GOSUB100 445 NEXT:NEXT:PRINT""TAB(14)"DONE" 450 FORX=1TO2000:NEXT:RUN 500 PRINT"[147]PRESS +/- TO ADJUST HIGHLIGHTED SPRITE 510 [153]"PRESS TO SWITCH START/END 515 PRINT"PRESS F1 TO BEGIN. 520 [151]650,128:[151]53269,3:X[178]1:A1$[178]"":A2$[178]"WAIT 522 PRINTA1$"START:[146]"S1:PRINTA2$"END :[146]"S2 523 POKE2040,S1:POKE2041,S2 525 GETA$:IFA$="+"ANDX=1THENS1=S1+1:IFS1>255THENS1=255 526 IFA$="+"ANDX=2THENS2=S2+1:IFS2>255THENS2=255 527 IFA$="-"ANDX=1THENS1=S1-1:IFS1<180THENS1=180 528 IFA$="-"ANDX=2THENS2=S2-1:IFS2<180THENS2=180 530 IFA$=CHR$(13)THENX=3-X:B$=A1$:A1$=A2$:A2$=B$ 535 IFA$<>"[133]"THEN522 540 PRINT"[147]PRESS +/- TO ADJUST SPEED 545 [153]"PRESS TO EXIT 550 POKE53269,1:X=20 555 FORI=S1TOS2STEPSGN(S2-S1):POKE2040,I 560 FORQ=1TOX:NEXT 565 GETA$:IFA$="+"THENX=X+1 570 IFA$="-"THENX=X-1:IFX<1THENX=1 575 IFA$<>CHR$(13)THENNEXT:GOTO555 580 POKE2040,S1:POKE650,0:RUN 600 PRINT"[147]":POKE53269,5 606 PRINT"F1 - EXITS M - MIRROR" 607 PRINT"F - FLIP I - INVERT CLR/HOME - CLEAR 610 [158]49158:[141]900 630 LY[178]0:LX[178]0 635 [151]2042,14 640 [129]I[178]896[164]959:[151]I,0:[130] 645 [129]I[178]896[164]913[169]3:[151]I,252:[130] 650 [151]53289,7:[151]53252,LX[172]8[170]24:[151]53253,LY[172]8[170]82 655 [161]A$:[139]A$[178]"LOAD"[167][129]I[178]S1[172]64[164]S1[172]64[170]63:[151]I,0:[130]:[141]900:[137]655 660 [139]A$[178]"INPUT"[167][138] 665 [139]A$[178]"F"[167]800 670 [139]A$[178]"M"[167]850 675 [139]A$[178]"I"[167][129]I[178]S1[172]64[164]S1[172]64[170]63:[151]I,255[171][194](I):[130]:[141]900:[137]655 680 A[178]15[171][194](56320)[175]15 685 [139](A[175]1)[167]LY[178]LY[171]1:[139]LY[179]0[167]LY[178]20 690 [139](A[175]2)[167]LY[178]LY[170]1:[139]LY[177]20[167]LY[178]0 695 [139](A[175]4)[167]LX[178]LX[171]1:[139]LX[179]0[167]LX[178]23 700 [139](A[175]8)[167]LX[178]LX[170]1:[139]LX[177]23[167]LX[178]0 705 [139]([194](56320)[175]16)[167]650 710 A[178]S1[172]64[170]LY[172]3[170][181](LX[173]8) 715 B[178]7[171](LX[175]7):[139]([194](A)[175](2[174]B))[167][151]A,[194](A)[175](255[171](2[174]B)):[137]722 720 [151]A,[194](A)[176](2[174]B) 722 Z[178]LX[170]LY[172]40[170]55296[170]160 723 A[178][194](Z)[175]15:A1[178]1:[139]A1[178]A[167]A1[178]12 724 [151]Z,A1 725 [137]650 800 A[178]S1[172]64:[151]252,A[173]256:[151]251,A[171][194](252)[172]256:[158]49152:[141]900 820 [137]650 850 A[178]S1[172]64:[151]252,A[173]256:[151]251,A[171][194](252)[172]256:[158]49155:[141]900 870 [137]650 900 A[178]S1[172]64:[151]252,A[173]256:[151]251,A[171][194](252)[172]256:[158]49377:[142] 1000 [129]I[178]0[164]63:[151]S2[172]64[170]I,[194](S1[172]64[170]I):[130]:[138]